import { fileURLToPath, URL } from 'node:url';

import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';

//element plus 按需导入
import AutoImport from 'unplugin-auto-import/vite';
import Components from 'unplugin-vue-components/vite';
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers';

//导入vue的devtools工具，用于调试。注意需要先安装相关插件
import vueDevTools from 'vite-plugin-vue-devtools';

// https://vitejs.dev/config/
export default defineConfig({
  // 静态资源基础路径 base。生产环境即打包的时候使用/mes-management目录，在开发环境下使用当前目录
  base: process.env.NODE_ENV === 'production' ? '/mes-management' : './',
  build: {
    outDir: 'mes-management' // 修改默认输出目录dist为mes-management
  },
  // base: './',
  //自定义本地服务器与proxy代理设置，如果不需要刻意不进行设置
  server: {
    open: true, //项目启动时是否在浏览器打开页面
    port: 9000,
    proxy: {
      '/api': {
        target: 'http://localhost:8071',
        // target: process.env.VITE_API_URL,
        changeOrigin: true //是否跨域
        // rewrite: (path) => path.replace(/^\/mis/, ""), // 移除路径中的 /api 前缀因为后端接口有api前缀，所以不需要替换
        // ws: true,                       //是否代理 websockets
        // secure: true, //是否https接口
      }
    }
  },
  plugins: [
    vue(),
    vueDevTools(), //引入vue的devtools工具
    AutoImport({
      //element plus 按需导入
      resolvers: [ElementPlusResolver()]
    }),
    Components({
      //element plus 按需导入
      resolvers: [ElementPlusResolver()]
    })
    // legacyPlugin({
    //   targets: ['chrome 52'], // 需要兼容的目标列表，可以设置多个
    //   additionalLegacyPolyfills: ['regenerator-runtime/runtime'] // 面向IE11时需要此插件
    // })
  ],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  }
});
